home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d21 / opt_pat.arc / OPTIMIZE.PAT < prev   
Text File  |  1991-10-22  |  5KB  |  142 lines

  1. Quarterdeck Technical Note
  2.  
  3. Subject:  Patching Optimize 2.0 to resolve problems where, under some
  4. circumstances, Optimize will forget during its final phase that it required
  5. the Squeeze feature.
  6.  
  7. Background: Many TSRs and device drivers take up more memory when they
  8. initialize than they require when they are resident. Optimize's Squeeze
  9. feature allows such programs, when they do not use EMS, to load partially
  10. into the page frame provided that they shrink down to a size that won't leave
  11. part of the program in the page frame.  Under QEMM-386, the Squeeze feature
  12. can also make temporary use of ROM areas for loading high, provided that
  13. the ROM is not used while the program is initializing.
  14.  
  15. Under some circumstances when Optimize 2.0 reaches the "ideal" result - that
  16. is, nothing in conventional memory and nothing in the largest high RAM region
  17. - and it required Squeeze to reach this result, Optimize will forget during
  18. its final phase that it required Squeeze.  There is no workaround other than
  19. running Optimize with the /NOSQF and /NOSQT parameters to disable Squeeze. 
  20. The problem should, however, not occur very often.  The symptom of this
  21. problem is that a program that is supposed to be loaded into high memory
  22. evokes the LOADHI message "Not enough room to load <program> high.  Loading
  23. low:" on the final phase of OPTIMIZE.
  24.  
  25. This patch, which resolves the above problem, only works on Optimize version
  26. 2.00, which has a date of 8/23/91 or 8/28/91 and comes with either QEMM-386
  27. V6.00 or DESQview-386 V2.40.  Earlier and later versions of Optimize do not
  28. exhibit this problem and do not require this patch.
  29.  
  30. ***************************************************
  31. 1)    Change to your QEMM directory.
  32.  
  33. 2)    Copy the original OPTIMIZE.COM file so that if you make a
  34. mistake you will be able to restore from a good copy.  Type
  35.  
  36.                   COPY OPTIMIZE.COM OPTIMIZE.OLD
  37.  
  38. at the DOS prompt.
  39.  
  40. 3)  In order for DEBUG to process Optimize correctly, you need to
  41. rename it.  At the DOS prompt, type
  42.  
  43.                         REN OPTIMIZE.COM X
  44.  
  45. 4)  Now, load the file called X into DEBUG by typing
  46.  
  47.                              DEBUG X
  48.  
  49. at the DOS prompt.  Make sure that DEBUG is in your path or that
  50. you precede DEBUG with the path where DOS can find it.  If all
  51. works out, you should see a hyphen (-) for a prompt.  This is the DEBUG
  52. prompt.
  53.  
  54. 5)  Now make sure that the registers in the microprocessor are in
  55. the correct state by typing R at the DEBUG prompt.  You should
  56. get something like this:
  57.  
  58. AX=0000  BX=0001  CX=15C5  DX=0000  SP=FFEE  BP=0000  SI=0000 DI=0000
  59. DS=xxxx  ES=xxxx  SS=xxxx  CS=xxxx  IP=0100   NV UP EI PL NZ NA PO NC
  60. xxxx:0100 4D            DEC     BP
  61.  
  62. Make sure that BX is equal to 0001 and that CX is equal to 15C5.
  63. If BX and CX are not equal to these values, then you should not
  64. continue with the patch.  Type
  65.  
  66.                                 Q
  67.  
  68. at the DEBUG prompt to quit out of DEBUG if BX is not 0001 and CX is not
  69. 15C5.
  70.  
  71.  
  72. 6)  If the BX and CX values are correct, type
  73.  
  74.                    S CS:100 FFFF e8 e9 e3 72 05
  75.  
  76. at the DEBUG prompt.  This will return a number with the form of xxxx:5C45. 
  77. If the number that returns does not have a 5C45 after the colon, DO
  78. NOT APPLY THIS PATCH.  If the wrong number returns, type
  79.  
  80.                    Q
  81.  
  82. at the DEBUG prompt to quit out of DEBUG.
  83.  
  84.  
  85.  
  86. 7)  If the number that returns is xxxx:5C45, type
  87.  
  88.                               E 5C48
  89.  
  90. DEBUG should respond with
  91.  
  92.                           xxxx:5C48 72.
  93.  
  94. 8)  Now type
  95.  
  96.                                 EB
  97.  
  98. at the DEBUG prompt and hit the Enter key.  This will make the only change
  99. that you need to make in the file.
  100.  
  101. 9)  Now save your work by typing
  102.  
  103.                                 W
  104.  
  105. at the DEBUG prompt.    It should say
  106.  
  107.                        Writing 115C5 bytes
  108.                                 or
  109.                         Writing 15C5 bytes
  110.  
  111. depending on the version of DOS you are using.
  112.  
  113. 10) Now you can quit DEBUG by typing
  114.  
  115.                                 Q
  116.  
  117. at the DEBUG prompt.  This will drop you back to the DOS prompt.
  118.  
  119. 11) Rename X back to OPTIMIZE.COM by typing
  120.  
  121.                         REN X OPTIMIZE.COM
  122.  
  123. at the DOS prompt.
  124.  
  125. You should be able to run Optimize successfully now.
  126.  
  127. --------------------------------------------------
  128.  
  129. If Optimize fails after you perform this patch, you can recover
  130. your backup of Optimize by typing
  131.  
  132.                   COPY OPTIMIZE.OLD OPTIMIZE.COM
  133.  
  134. at the DOS prompt.
  135.  
  136. You may then wish to try the above procedure again, in case a mistake was
  137. made.
  138.  
  139.  
  140.              * * *   E N D   O F   F I L E    * * *
  141.  
  142.